fix(man): Don't show default values for flags, show ellipsis for repeatable arguments #4432
+23
−20
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #4410.
The help generator for the main clap package uses the
Arg::is_takes_value_set()
method to determine whether it should show a default argument. (SeeArg::stylize_arg_suffix
, on line 4148 ofarg.rs
.)I ported the same logic over to clap_mangen, so boolean flag arguments no longer show
[default=false]
(or[default=0]
for repeatable options), which is not valid.I also noticed that the generated synopsis does not add a
...
ellipsis for repeatable flags, so I added that as well.Finally, I updated the snapshot tests to reflect the above changes.
Example
For the following program (this is essentially
clap_mangen/examples/man.rs
):you previously got
and now get